【書評】データレイク構築・運用のノウハウを網羅的に学び始められる! 『AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門』
先日2020年07月09日、書籍『AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門』が発売されました!個人的に興味関心の強いテーマを取り上げた内容がてんこ盛りの書籍でしたので、簡単ではありますが書籍の内容について紹介させて頂きたいと思います。
「AWSではじめるデータレイク」がついに https://t.co/FvuHWrYlwH 上で予約可能になりました!7月9日発売予定です。どうかよろしくお願いいたします。 - https://t.co/do0ZeLrlrn #aws #datalake
— Akira Shimosako (@simosako) June 23, 2020
目次
『AWS x データレイク』本が遂に出た!
書籍の著者一覧は以下の通り。(書籍より抜粋) AWSの関連セミナーやイベントを受講された皆さんであればお馴染みの、安心と信頼の豪華執筆陣ですね。
- 上原 誠氏 / ソリューションアーキテクト、アナリティクス
- 志村 誠氏 / スペシャリストソリューションアーキテクト、アナリティクス
- 下佐粉 昭氏 / スペシャリストソリューションアーキテクト、アナリティクス
- 関山 宣孝氏 / AWS Glue & Lake Formation開発チーム、シニアビッグデータアーキテクト
- Twitter: @moomindani
書籍発売に先立つ形で、AWSxデータレイクに関するセミナーが開催されており、その中で当書籍に関する紹介も度々為されていました。セミナーに参加されていた方々としては発売が待ち遠しかったのでは、と思います。
書籍の購入・入手
Amazonの書籍ページは以下。発売当初は在庫の関係もあったのか中々入手出来ない状況にありましたが、現在では状況は改善されているようです。
また下記サイトでは、紙媒体と合わせて電子媒体(PDF)形式での購入も可能となっています。私個人としては電子媒体が欲しかったので発売に速攻こちらで購入しちゃいました。(その後紙媒体も購入しちゃったけど)
書籍出版社であるテッキーメディアの公式ページは以下。問い合わせや追加情報、また取り扱い書店に関する情報もまとめられていますので実店舗での購入を検討されている方は参考になるかと思います。
書籍の内容
ここからは書籍の内容について、ざっとご紹介。
第1部 データレイクの概念と知識
第1部は序章を含めて計5つの章から構成されています。この部分は座学として、データレイクはどのようなものであるか、何が必要なのかといった部分について情報を学ぶ形になっています。
序章 データレイクを始めよう
序章では「データレイク」と呼ばれる環境がなぜ求められるようになったのか、これまでのITの世界で進化・発展を遂げてきた「データを扱う」分野の変遷と共に説明が為されています。
データウェアハウスであっても対応・追従しきれない諸問題に対してどういった解決策が求められているのか、データレイクとして求められる要件、その要件を満たすことでどういった問題が解決出来るのかという「概要」部分についての内容を把握することが出来ます。
コラムで紹介されているAmazon.comのデータレイク"ANDES"の解説も非常に興味深い内容となっています。このトピック1つだけでも十分語っていけそう。
第1章 データレイクの構築
この章では、データレイクでどのような「コンポーネント(構成要素)」が必要となるのか、また、それらのコンポーネント毎にどういう処理が求められ、AWSを利用する場合はこういうサービスや機能が適している、といった情報について説明が為されています。
必要とされている「コンポーネント」の内容は以下4つ。
- 収集
- 保存
- 変換
- 分析
この章で登場・言及される主なAWSサービスは以下。
- AWS DataSync(シンプルかつ高速なオンラインデータ転送)| AWS
- AWS Transfer Family | アマゾン ウェブ サービス
- AWS Snowball(セキュアなペタバイト規模のデータ転送)| AWS
- Amazon Kinesis Data Streams(リアルタイム分析向け大規模データを収集)| AWS
- Amazon Kinesis Data Firehose(ストリーミングデータをデータストアや分析ツールにロード)| AWS
- Amazon S3(拡張性と耐久性を兼ね揃えたクラウドストレージ)|AWS
- AWS Key Management Service(マネージド型の暗号化キー作成と管理)| AWS
- AWS Glue(分析用データ抽出、変換、ロード (ETL) )| AWS
- AWS Lake Formation(安全なデータレイクを数日で構築)| AWS
第2章 データレイクの活用
この章では、溜まったデータをどう分析していくか、という観点に立って「どういうロールがあるか」「そのロールでどういう風にデータが活用、分析されていくか」という部分について 求められるもの、AWSサービスでどのようなものが活用出来るかという説明が為されています。
この章で登場・言及される主なAWSサービスは以下。
- Amazon QuickSight(あらゆるデバイスからアクセス可能な高速BIサービス)| AWS
- Amazon Athena(SQL を使用した S3 でのデータクエリ)| AWS
- Amazon Redshift(高速、シンプル、費用対効果の高いデータウェアハウス)| AWS
- Amazon EMR(Hadoopなどのビッグデータフレームワークを簡単に実行)| AWS
- Amazon SageMaker(機械学習モデルを大規模に構築、トレーニング、デプロイ)| AWS
- Amazon Elasticsearch Service(Elasticsearchを簡単にデプロイ、保護、運用)| AWS
第3章 データレイクの運用
第1部の後半第3章と第4章では、座学で「構築後の環境に対して求められる要素」にどのようなものがあるのかについて説明が為されています。
第3章では「データレイクの運用」について言及しています。
まずはじめに、データレイクにおける"正常"とはどういう状態を指すのか。その"正常"をSLAを定めることによって定義し、正常な状態を保っていることをどの様にして確認するのか(監視)、保てなくなった時にどういう対処が出来るのか、またはすべきなのか、復旧のありかたはどう在るべきか...などについての指針・大枠について学ぶことが出来ます。Amazon S3を始めとする各種AWSのサービス・機能でこれらの要件をどの様に満たしていくことが出来るのか、という部分にも"触り"だけではありますが言及されています。
この章で登場・言及される主なAWSサービスは以下。
- Amazon CloudWatch(リソースとアプリケーションの監視と管理)| AWS
- AWS Well-Architected – 安全で効率的なクラウド対応アプリケーション
- Amazon Athena のパフォーマンスチューニング Tips トップ 10 | Amazon Web Services ブログ
- AWS Compute Optimizer (ワークロードに最適なコンピューティングリソースを特定) | AWS
- AWS Trusted Advisor
- ストレージクラス - Amazon S3 |AWS
第4章 データレイクのセキュリティ
第4章では「データレイクのセキュリティ」について言及しています。
データレイクを含めた「データ分析環境」データを活用出来る環境・機能が求められるのは勿論ですが、同様に「環境に求められるセキュリティ」も非常に大事なポイントです。この章では抑えておくべきセキュリティのポイントと領域を紹介し、必要となる要件を満たすためには何が必要なのか、またどのAWSサービスのどの機能を活用することで実現・構築が可能となるのかについてガイドライン的な情報を得ることが出来ます。
「セキュリティ」は様々な部分を考慮していくとキリが無いテーマではありますが、書籍内では「まずはこの辺りを踏まえておくと良い」という方向性を指し示してくれているのも嬉しいところです。
この章で登場・言及される主なAWSサービスは以下。
- AWS IAM(ユーザーアクセスと暗号化キーの管理)| AWS
- AWS Organizations(AWS アカウント全体の一元管理)| AWS
- Amazon S3(拡張性と耐久性を兼ね揃えたクラウドストレージ)|AWS
- AWS PrivateLink(AWS でホストされているサービスに安全にアクセス)| AWS
- AWS Lake Formation(安全なデータレイクを数日で構築)| AWS
第2部 データレイクの実践(基礎編)
そしてここからの「第2部」「第3部」は実践編。第1部での内容を踏まえつつ、実際にどういう風にデータレイク環境を構築していくのかをハンズオン実践手順を通じて学んで行くことが出来ます。
第2部で扱うテーマは「ビジネスデータを題材としたデータレイク構築」です。サンプルの販売履歴データ/ Amazon.com マーケットプレイスのレビューデータ/スタースキーマベンチマークの発注履歴データなどのビジネスデータを使い、構築を進めて行く流れとなっています。
第5章 ハンズオンの概要 — ビジネスデータのデータレイク —
第2部実践ハンズオンの概要紹介及びハンズオン環境の準備に関する手順が紹介されています。ハンズオンではIAMユーザーを利用する前提となっているため、IAMに関する解説も為されています。
第6章 データを可視化する
ハンズオン実践編、最初の実践内容は「データの可視化」。データから必要な情報を引き出し、売上や登録ユーザー数などビジネスにおけ る重要なメトリクスを分析/レポーティングするための手段として可視化を行うために、AWSで提供されているBIサービス「Amazon QuickSight」を使ってデータを深堀りしていく内容になっています。
第7章 サーバーレス SQL によるデータ分析
データ分析の手段の1つとして広く利用されているものの1つに「SQL」があります。第7章ではSQLによる分析を想定したハンズオン内容となっています。AWS Glue クローラのデータクローリング機能を使いデータスキーマを自動作成後、インタラクティブなクエリサービスであるAmazon Athenaを活用してSQL による OLAP(Online Analytical Processing/オンライン分析処理)を実践していきます。
第8章 データを変換する
データ分析において「使えるきれいなデータを用意しておく」というのはとても大事なポイントです。必要なデータを必要な粒度で、必要なタイミングで利用出来るように予め準備・加工しておく...今も昔も付きまとってくる問題・課題であり、ここを制することが出来れば半分以上は勝ったも同然!と言えるのではないでしょうか。
この章では(=この書籍では)対象データを分析に適した形に変換する処理、所謂「ETL(Extract Transform Load)処理」をAWS Glueを使って実現する内容について紹介しています。S3にアップロードされたデータをAWS Glueクローラを使ってスキーマ自動推定させ、Glueジョブを使ってデータ変換を行っていく手順を実践することが出来ます。
第9章 データを分析する(データウェアハウス)
この章では、データ分析を行っていく過程で登場する「大規模なデータに対して複雑な分 析処理を安定して実行する」ケースについて言及しています。これを実現するAWSサービスとしてAmazon Redshiftが紹介されており、Amazon Redshiftの基本的な操作、データレイク連携機能としてAmazon Redshift Spectrumなどを学ぶことが出来ます。
第3部 データレイクの実践(応用編)
第3部のハンズオン実践は「ログデータのデータレイク」。所定の要件が定められたデータレイク環境を構築していく過程で、データレイクに必要なスキルやノウハウを学んで行く形になっています。
第10章 システムの概要 — ログデータのデータレイク —
第10章は、前述第2部第5章同様に概要紹介及びハンズオン環境の準備に関する手順の紹介が為されています。題材としてWordPressを用いること、AWS CLIやCloud Formationなどを使って環境を構築することなどについて言及しています。(実際の環境も構築しています)
第11章 ログを集める
第10章で構築したハンズオン環境において、どのようなログが存在しているのか、それらのログをどうやって「収集」するのかといった点にフォーカスを当てて実践しています。以下を含めたAWSサービスが登場します。
第12章 ログの保管とカタログ化
前章で収集したログを適切なかたちで保管し、分析などに活用しやすくするための手法として「カタログ化」が書籍では提唱されています。AWS Glueのデータカタログ周りを含めたAWSサービス群が登場します。
第13章 ログを加工する
第13章は「ログ加工」について。生データのデータレイクの課題を理解したうえで、分析用のデータレイクを構築しながら、扱いやすいデータを準備する・効果的なデータレイクを作る方法について学んで行きます。
- AWS Glue: 仕組み - AWS Glue
- Spark SQL ジョブの AWS Glue データカタログ サポート - AWS Glue
- AWS Glue でジョブを追加する - AWS Glue
- AWS Glue PySpark 変換リファレンス - AWS Glue
第14章 ログを分析する
実践編最後の第14章は「ログを分析する」について。目的の分析を実現するために十分な準備が前章までで整い、この章でようやく様々な形で分析/活用していくことが出来るようになります。加工済みのデータを下記サービスを用いてクエリ、分析、可視化していく手順についてざっくり学んで行くことが出来ます。
- Amazon Athena(SQL を使用した S3 でのデータクエリ)| AWS
- Amazon QuickSight(あらゆるデバイスからアクセス可能な高速BIサービス)| AWS
- Amazon SageMaker ノートブックインスタンスの使用 - Amazon SageMaker
早速社内で読書会を始めました
書籍発売を受けて、社内(部内)では早速「書籍の内容に興味がある」「データレイクに興味がある」というメンバーを募り、読書会(リモート開催)を始めてみました。
現状はまだ始めて間もない状況ではあり、「書籍の指定範囲を読んできた上で、気になった点についてディスカッションを行う」というスタイルで試してみている段階ではあるのですが、始めたばかりで既に「気になるところ」「語りたいテーマ」が目白押しで「こりゃ当分(読書会は)終わんねぇな...w」という思いに至りました。
「AWSで始めるデータレイク」という書籍タイトルが示す通り、この書籍で学べる部分はあくまでも「AWSxデータレイクに関する基本的な部分」に限られます。(書籍内でも「データレイクや AWS を取り巻く技術的な知見は非常に幅が広く、本書では取り上げられなかったものも数多くあります」とコメントしています)
ですがこの書籍には「AWSでデータレイクを構築・運用していく上で必要なポイント」が網羅的にまとめられており、ファーストステップで手に取る情報源としては非常に有益であると思いました。AWSでデータレイクを構築・運用してみたい、またはそういう状況や立場にあるという方はまずこちらの書籍でデータレイクに関する基本的な部分を学んでみてはいかがでしょうか。
まとめ
というわけで、書籍『AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門』の紹介エントリでした。
書籍及び読書会を通じて得たノウハウや知見については今後何らかの形でアウトプットとして昇華していきたいと考えています。部内で始めた読書会ではデータレイクに関する知見やノウハウも良い感じで社内に集約出来そうな気がしており、読書会の今後がとても楽しみです!!